﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using MySql.Data.MySqlClient;
using System.Text;

namespace DA
{
    public class News : GO.BaseClass
    {
        public VO.News objVO;

        public News()
        {
            objVO = new VO.News();
            sbSQL = new StringBuilder();
        }

        public void Salvar()
        {
            // MONTA A INSTRUÇÃO SQL
            sbSQL.Append(" INSERT INTO `News` (Titulo, Data, Texto, idUnidade) ");
            sbSQL.Append(" VALUES('p_Titulo','p_Data', 'p_Texto', p_idUnidade); ");

            // SUBSTITUI OS PARÂMETROS
            sbSQL.Replace("p_Titulo", objVO.Titulo);
            sbSQL.Replace("p_Data", objVO.Data.ToString("s"));
            sbSQL.Replace("p_Texto", objVO.Texto);
            sbSQL.Replace("p_idUnidade", objVO.IdUnidade.ToString());

            // EXECUTA INSTRUÇÃO
            GO.MySQLHelper.ExecuteNonQuery(getConn(), sbSQL.ToString(), CommandType.Text);

            // LIMPA VARIÁVEL
            sbSQL.Remove(0, sbSQL.Length);
        }

        public void Atualizar()
        {
            // MONTA A INSTRUÇÃO SQL
            sbSQL.Append(" UPDATE `News` SET");
            sbSQL.Append("     Titulo  = 'p_Titulo',");
            sbSQL.Append("     Data = 'p_Data',");
            sbSQL.Append("     Texto  = 'p_Texto',");
            sbSQL.Append("     idUnidade  = 'p_idUnidade'");
            sbSQL.Append(" WHERE ");
            sbSQL.Append(" 	   idNews   = p_idNews  ;        ");

            // SUBSTITUI OS PARÂMETROS
            sbSQL.Replace("p_idNews", objVO.IdNews.ToString());
            sbSQL.Replace("p_Titulo", objVO.Titulo);
            sbSQL.Replace("p_Data", objVO.Data.ToString("s"));
            sbSQL.Replace("p_Texto", objVO.Texto);
            sbSQL.Replace("p_idUnidade", objVO.IdUnidade.ToString());

            GO.MySQLHelper.ExecuteNonQuery(getConn(), sbSQL.ToString(), CommandType.Text);

            sbSQL.Remove(0, sbSQL.Length);
        }

        public void Excluir()
        {
            sbSQL.Append(" DELETE FROM `News` ");
            sbSQL.Append(" WHERE idNews   = p_idNews  ; ");

            // SUBSTITUI OS PARÂMETROS
            sbSQL.Replace("p_idNews", objVO.IdNews.ToString());

            GO.MySQLHelper.ExecuteNonQuery(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getTodosRegistros()
        {

            sbSQL.Append(" SELECT * FROM `News`; ");

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getRegistroById()
        {
            sbSQL.Append(" SELECT * FROM `News` ");
            sbSQL.Append(" WHERE idNews = p_idNews; ");
            sbSQL.Replace("p_idNews", objVO.IdNews.ToString());

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getRegistroNews()
        {
            sbSQL.Append(" SELECT * FROM `News` ");
            sbSQL.Append(" ORDER BY Data ASC ");
            sbSQL.Append(" LIMIT 0,6; ");

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }

        public DataSet getTodosRegistroNewsByUnidade()
        {
            sbSQL.Append(" SELECT * FROM `News` ");
            sbSQL.Append(" WHERE idUnidade = p_idUnidade ");
            sbSQL.Append(" ORDER BY Data ASC ");
            sbSQL.Append(" LIMIT 0,6; ");
            sbSQL.Replace("p_idUnidade", objVO.IdUnidade.ToString());

            return GO.MySQLHelper.ExecuteDataset(getConn(), sbSQL.ToString(), CommandType.Text);
        }
    }
}